package com.seafwg.dao.impl;

import com.seafwg.dao.RoleDao;
import com.seafwg.domain.Role;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

import java.util.List;

/**
 * @Author seafwg
 * @Date 2022/3/4 4:24 下午
 * @Version 1.0
 * @description xxx
 */

public class RoleDaoImpl implements RoleDao {

    // 注入jdbcTemplate
    private JdbcTemplate jdbcTemplate;
    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    /**
     * @description: 根据userId查询用户下的角色，根据用户角色表，角色表联合查询，从用户角色中间表中的角色ID=角色ID，and中间表的userID=参数userId${userId}
     * @param id
     * @return 用户的角色信息集合
     */
    @Override
    public List<Role> findRoleByUserId(Long id) {
        List<Role> roleList = jdbcTemplate.query(
                "select * from sys_user_role ur, sys_role r where ur.roleId=r.id and ur.userId=?",
                new BeanPropertyRowMapper<>(Role.class),
                id
        );
        return roleList;
    }
}
